package cn.edu.xmut.chen.zhlg.zhlg.user.service;

import cn.edu.xmut.chen.zhlg.zhlg.user.entity.User;
import cn.edu.xmut.chen.zhlg.zhlg.user.param.UserLoginParam;
import cn.edu.xmut.chen.zhlg.zhlg.user.param.UserRegisterParam;
import cn.edu.xmut.chen.zhlg.zhlg.user.param.UserUpdateParam;
import cn.edu.xmut.chen.zhlg.zhlg.user.result.UserDetailResult;
import cn.edu.xmut.chen.zhlg.zhlg.user.result.UserInfoResult;
import cn.edu.xmut.chen.zhlg.zhlg.user.result.UserLoginResult;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

public interface UserService extends IService<User> {

    String register(UserRegisterParam userRegisterParam);

    User getByPhone(String phone);

    String login(UserLoginParam userLoginParam);

    UserLoginResult getDetail(String token);

    UserDetailResult getPersonalDetail();

    UserDetailResult getDetailByUserId(String userId);

    /**
     * 获取用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    UserInfoResult getUserInfo(String userId);

    /**
     * 更新用户信息
     * @param userId 用户ID
     * @param param 更新参数
     * @return 是否成功
     */
    boolean updateUserInfo(String userId, UserUpdateParam param);
    String uploadAvatar(MultipartFile file);
}
